// 动画函数
function windowanimate(obj, target, callback) {
    // console.log(callback);//callback=ƒ () { } 调用的时候callback()
    // 当我们不断点击按钮 这个元素会越来越快,因为开启了太多的定时器
    // 解决方案就是让我们元素只有一个元素在执行：
    // 先清除以前的定时器, 只保留一个定时器执行
    window.clearTimeout(obj.timer);
    obj.timer = setInterval(function () {
        //缓动动画   步长值  Math.ceil 向上取整 往大取 不取整就会出现小数 就不能达到目标位置
        // Math.floor() 向下取整 往下取整 往小的取
        // 页面滚动了多少可以通过window.pageYOffset得到
        var step = (target - window.pageYOffset) / 10;
        // 因为考虑到要后退的问题写了一个三元表达式判断步长值:step>0 Math.ceil 向上取整 往大取
        // 否则小于0Math.floor() 向下取整 往下取整 往小的取 以此来保证能移动到目标位置
        step = step > 0 ? Math.ceil(step) : Math.floor(step);
        // 判断是否达到了目标位置
        if (window.pageYOffset == target) {
            // 清除定时器
            window.clearTimeout(obj.timer);
            // 回调函数写到定时器里面
            if (callback) {
                // 调用函数
                callback();
            }
        }
        // 要移动的位置是在原来盒子位置的基础上加上步长值
        // obj.style.left = window.pageYOffset + step + 'px';
        //window.scroll(x,y) 滚动窗口至文档中的特定位 不用加单位
        window.scroll(0, window.pageYOffset + step);
        // obj.style.left = obj.offsetLeft + 5 + 'px';
    }, 30)
}